.\"   $Id: createablxorbinexpr.3,v 1.1 2002/03/18 11:06:16 ludo Exp $
.\" @(#)createablxorbinexpr.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH CREATEABLXORBINEXPR 3 "October 1, 1997" "ASIM/LIP6" "ABL FUNCTIONS"
.SH NAME
createablxorbinexpr \- creates an 'xor' or 'xnor' operator expression.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
chain_list *createablxorbinexpr( Oper, Expr1, Expr2 )
  long        Oper;
  chain_list \(**Expr1;
  chain_list \(**Expr2;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIOper\fP
Operator ABL_XOR or ABL_NXOR.
.TP
\fIExpr1\fP
First expression.
.TP
\fIExpr2\fP
Second expression.
.SH DESCRIPTION
\fBcreateablxorbinexpr\fP creates a binary 'xor' or 'xnor'
operator expression with the 'and', 'or' form.  \fBcreateablbinexpr\fP
simplifies eventually the sub-expressions.
The expression pointers \fIExpr1\fP and \fIExpr2\fP MUSTN'T 
be used after the call to this function.
.br
.SH RETURN VALUE
\fBcreateablxorbinexpr\fP returns a pointer to the new operator expression.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"ablcreate: bad operator xx !",
.ft R
.RS
\fIOperator\fP must be ABL_XOR or ABL_NXOR.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
   chain_list \(**ExprA;
   chain_list \(**ExprB;
   chain_list \(**ExprAxorB;
   ExprA = createablatom( "a" );
   ExprB = createablatom( "b" );
   ExprAxorB  = createablxorbinexpr( ABL_XOR, ExprA, ExprB );
   /* displays (a and (not b) or (b and (not a)) */
   viewablexpr( ExprAxorB, ABL_VIEW_VHDL );
.ft R
.fi
.SH SEE ALSO
.BR abl (1)
.BR abl (1)
.BR createablatom(3),
.BR createabloper(3),
.BR createablbinexpr(3),
.BR createablunaryexpr(3),
.BR createablnotexpr(3),
.BR addablhexpr(3),
.BR addablqexpr(3).


.so man1/alc_bug_report.1

